#ifndef XKIT_REF_H
#define XKIT_REF_H

#include "losu.h"
#include "platform/platform.h"

typedef struct Reference {
    losu_object ulock;
} Reference;

// 
Reference *RefInit(losu_vm_t vm);
void RefFree(losu_vm_t vm, Reference *ref);

// increase
void RefIncrease(losu_vm_t vm, Reference *ref, losu_object *o, size_t olen);

// decrease
void RefDecrease(losu_vm_t vm, Reference *ref, losu_object *o, size_t olen);

#endif
